package com.blog.interceptor;

import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class User implements HandlerInterceptor {
    // 在目标方法执行之前 执行
    public boolean preHandle(javax.servlet.http.HttpServletRequest request,
                             javax.servlet.http.HttpServletResponse response, Object handler) throws Exception {
        System.out.println("方法执行前开始拦截,以下写你的业务判断....");

        com.blog.pojo.User user = (com.blog.pojo.User)request.getSession().getAttribute("user");

        if(user == null) {
            response.sendRedirect(request.getContextPath()+"/page/login");
            return false;
        }


        return true;
    }

    // 在目标方法执行之后 视图返回之前执行
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
                           ModelAndView modelAndView) throws Exception {
        System.out.println("postHandle....");
    }

    // 在整个流程都执行完毕后 执行
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
            throws Exception {
        System.out.println("afterCompletion....");
    }
}
